Data in a distributed computing environment may be replicated to a remote secondary location from a primary location. Therefore, the data is replicated from a source to a destination in the event that the source loses data due to a disaster or otherwise unavailable to serve the data. When data is updated at the primary, there is a desire for the secondary to eventually reflect the changes to the data. However, merely recopying all of the data even for a minor change to the data from the primary to the secondary may consume a lot of resources. Similarly, merely communicating the changes to the data as they occur may be inflexible to account for resistance or other barriers to a seamless communication of data between the primary and the secondary locations.